package org.darkforest.common.services;

import org.darkforest.model.OrderStatistics;
import org.darkforest.model.SellGoodsStatistics;
import org.darkforest.model.StatOrderGoods;
import org.darkforest.vo.MemberConsumptionStatisticVo;

import java.util.List;

/**
 * Created by Administrator on 2015/12/9.
 */
public interface StatOrderGoodsService {

    int insert(StatOrderGoods record);

    int insertSelective(StatOrderGoods record);

    List<String> findYListByXList(List<String> xLists);

    List<StatOrderGoods> findYListByStortId(Integer storeId);

    StatOrderGoods findstatisticalByStortId(Integer storeId);


    List<SellGoodsStatistics> findOrderGoodsForStatByStoreId(Integer storeId);

    List<SellGoodsStatistics> findRecentlyOrderAmount(Integer storeId);



    /**
     * 根据添加查询商品在某段时间内的销售情况
     * @param sellGoodsStatistics
     * @return
     */
    SellGoodsStatistics findRecentlyGoodsSellByPage(SellGoodsStatistics sellGoodsStatistics);

    /**
     * 商品分析 热卖商品
     * @param sellGoodsStatistics
     * @return
     */
    SellGoodsStatistics findHotGoodsRecently(SellGoodsStatistics sellGoodsStatistics);

    /**
     * 统计概览
     * @return
     */
    OrderStatistics getAllOrderAmount();

    /**
     * 统计概览
     * @param days 天数
     * @return
     */
    OrderStatistics getAllOrderAmountLimit(int days);

    /**
     * 统计概览
     * @return
     */
    OrderStatistics getAllGoodsCount();

    /**
     * 获取销售走势数据
     * @param days
     * @return
     */
    List<OrderStatistics> statisticAllOrder(int days);

    /**
     * 统计概览
     * @param storeId 店铺编号
     * @return
     */
    OrderStatistics getOrderAmount(int storeId);

    /**
     * 统计概览
     * @param days 天数
     * @param storeId 店铺编号
     * @return
     */
    OrderStatistics getOrderAmountLimit(int days, int storeId);

    /**
     * 统计概览
     * @param storeId 店铺编号
     * @return
     */
    OrderStatistics getGoodsCount(int storeId);

    /**
     * 获取销售走势数据
     * @param days
     * @param storeId 店铺编号
     * @return
     */
    List<OrderStatistics> statisticOrder(int days, int storeId);


    /**
     * 会员消费统计
     * @param record
     * @return
     */
    List<MemberConsumptionStatisticVo> getMemberConsumpStatisticInfo(MemberConsumptionStatisticVo record);

}
